21 #define HAL_MAKE_INT16(a, b) ((KER_INT16U)(((KER_BYTE)(((KER_INT32U)(a)) & 0xff)) | ((KER_INT16U)((KER_BYTE)(((KER_INT32U)(b)) & 0xff))) << 8))
22 #define HAL_MAKE_INT32(a, b) ((KER_INT32U)(((KER_INT16U)(((KER_INT32U)(a)) & 0xffff)) | ((KER_INT32U)((KER_INT16U)(((KER_INT32U)(b)) & 0xffff))) << 16))
23 #define HAL_LO_INT16(l) ((KER_INT16U)(((KER_INT32U)(l)) & 0xffff))
24 #define HAL_HI_INT16(l) ((KER_INT16U)((((KER_INT32U)(l)) >> 16) & 0xffff))
25 #define HAL_LO_INT8(w) ((KER_BYTE)(((KER_INT32U)(w)) & 0xff))
26 #define HAL_HI_INT8(w) ((KER_BYTE)((((KER_INT32U)(w)) >> 8) & 0xff))
32 #define KER_MEM_CMP(Buf1,Buf2,Len) hal_mem_cmp(KER_CTX (Buf1), (Buf2), (Len))
40 #define KER_MEM_SET(Buf,Len,Val,Count) hal_mem_set(KER_CTX (Buf), (Len), (Val), (Count))
48 #define KER_MEM_CPY(Dest,DestLen,Src,SrcLen) hal_mem_cpy(KER_CTX (Dest), (DestLen), (Src), (SrcLen))
56 #define KER_MEM_MOVE(Dest,DestLen,Src,SrcLen) hal_mem_move(KER_CTX (Dest), (DestLen), (Src), (SrcLen))
64 #define KER_MEM_ADD(Dest,DestLen,DestOffset,Src,SrcLen) hal_mem_add(KER_CTX (Dest), (DestLen), (DestOffset), (Src), (SrcLen))
72 #define KER_MEM_ALLOC(Size) hal_alloc_mem(KER_CTX Size)
80 #define KER_MEM_FREE(Buf) hal_release_mem(KER_CTX Buf)
84 #ifndef KER_MEM_FREE_EX
88 #define KER_MEM_FREE_EX(Buf,Size) hal_release_mem_ex(KER_CTX (Buf), (Size))
void KER_VOID
Definition: emv_platform.h:66
KER_INT8U KER_BOOL
Definition: emv_platform.h:67
uint8_t KER_BYTE
Definition: emv_platform.h:70
unsigned int KER_INT32U
Definition: emv_platform.h:63
unsigned short KER_INT16U
Definition: emv_platform.h:61
char KER_CHAR
Definition: emv_platform.h:65
signed int KER_INT32S
Definition: emv_platform.h:64
#define KER_CTX_PARAM
Definition: emv_context.h:53
KER_INT32S hal_mem_cmp(KER_CTX_PARAM const KER_VOID *pvBuffer1, const KER_VOID *pvBuffer2, KER_INT16U usCount)
Compare memory buffers.
KER_INT32U hal_mem_cpy(KER_CTX_PARAM KER_VOID *pvDestBuffer, KER_INT16U usDestBufferSize, const KER_VOID *pvSourceBuffer, KER_INT16U usSourceBufferSize)
Copy one memory buffer to another.
KER_INT32U hal_mem_add(KER_CTX_PARAM KER_VOID *pvDestBuffer, KER_INT16U usDestBufferSize, KER_INT16U usDestBufferOffset, const KER_VOID *pvSourceBuffer, KER_INT16U usSourceBufferSize)
Add memory buffer to existing buffer with offset.
KER_VOID * hal_alloc_mem(KER_CTX_PARAM KER_INT16U usBufferSize)
allocate memory buffer
KER_VOID * hal_mem_set(KER_CTX_PARAM KER_VOID *pvDestBuffer, KER_INT16U usDestBufferSize, KER_BYTE btValue, KER_INT16U usCount)
Reset memory buffer with specified value.
KER_BOOL hal_release_mem(KER_CTX_PARAM KER_VOID *pBuffer)
release previously allocated memory buffer
KER_BOOL hal_release_mem_ex(KER_CTX_PARAM KER_VOID *pBuffer, KER_INT16U usBufferSize)
release previously allocated memory buffer (reset it firstly for PCI SSS)
KER_VOID * hal_mem_move(KER_CTX_PARAM KER_VOID *pvDestBuffer, KER_INT16U usDestBufferSize, KER_VOID *pvSourceBuffer, KER_INT16U usSourceBufferSize)
Copy one memory buffer to another (event if buffer overlaped)
KER_INT32U KER_CDECL hal_sprintf(KER_CTX_PARAM KER_CHAR *pchDestBuffer, KER_INT16U usDestBufferSize, const KER_CHAR *pchFormat,...)
sprintf_s analog